SRCS = glob(['src/test/java/com/google/gerrit/acceptance/*.java'])

DEPS = [
  '//gerrit-gpg:gpg',
  '//gerrit-launcher:launcher',
  '//gerrit-openid:openid',
  '//gerrit-pgm:daemon',
  '//gerrit-pgm:http-jetty',
  '//gerrit-pgm:util-nodep',
  '//gerrit-server/src/main/prolog:common',
  '//gerrit-server:testutil',
  '//lib/auto:auto-value',
  '//lib/httpcomponents:fluent-hc',
  '//lib/httpcomponents:httpclient',
  '//lib/httpcomponents:httpcore',
  '//lib/jetty:servlet',
  '//lib/jgit/org.eclipse.jgit.junit:junit',
  '//lib/log:impl_log4j',
  '//lib/log:log4j',
]

PROVIDED = [
  '//gerrit-common:annotations',
  '//gerrit-common:server',
  '//gerrit-extension-api:api',
  '//gerrit-httpd:httpd',
  '//gerrit-lucene:lucene',
  '//gerrit-pgm:init',
  '//gerrit-reviewdb:server',
  '//gerrit-server:server',
  '//lib:gson',
  '//lib:jsch',
  '//lib/jgit/org.eclipse.jgit:jgit',
  '//lib/mina:sshd',
  '//lib:servlet-api-3_1',
]

java_binary(
  name = 'acceptance-framework',
  deps = [':lib'],
  visibility = ['PUBLIC'],
)

java_library(
  name = 'lib',
  srcs = SRCS,
  exported_deps = DEPS + [
    '//lib:truth',
  ],
  provided_deps = PROVIDED + [
    '//lib:gwtorm',
    '//lib/guice:guice',
    '//lib/guice:guice-assistedinject',
    '//lib/guice:guice-servlet',
  ],
  visibility = ['PUBLIC'],
)

java_sources(
  name = 'src',
  srcs = SRCS,
  visibility = ['PUBLIC'],
)

# The above java_sources produces a .jar somewhere in the depths of
# buck-out, but it does not bring it to
# buck-out/gen/gerrit-acceptance-framework/gerrit-acceptance-framework-src.jar.
# We fix that by the following java_binary.
java_binary(
  name = 'acceptance-framework-src',
  deps = [ ':src' ],
  visibility = ['PUBLIC'],
)

java_doc(
  name = 'acceptance-framework-javadoc',
  title = 'Gerrit Acceptance Test Framework Documentation',
  pkgs = [' com.google.gerrit.acceptance'],
  paths = ['src/test/java'],
  srcs = SRCS,
  deps = DEPS + PROVIDED + [
    '//lib:guava',
    '//lib/guice:guice-assistedinject',
    '//lib/guice:guice_library',
    '//lib/guice:guice-servlet',
    '//lib/guice:javax-inject',
    '//lib:gwtorm_client',
    '//lib:junit',
    '//lib:truth',
  ],
  visibility = ['PUBLIC'],
)
